package org.jeecg.modules.api.xxApi.vo;


import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.math.BigDecimal;

@Data
@JsonIgnoreProperties(ignoreUnknown = true)
@ApiModel(value = "XxApiFpkjMxParam对象", description = "销项管理-发票开具明细")
public class XxApiFpkjMxParam implements Serializable {

    @ApiModelProperty(value = "单据编号", hidden = true)
    private String djbh;

    @ApiModelProperty(value = "明细行号")
    @NotNull(message = "明细数据中明细行号不能为空")
    private Integer mxhh;

    @ApiModelProperty(value = "发票行性质 0正常行1折扣行2被折扣行")
    private String fphxz = "0";

    @ApiModelProperty(value = "商品代码")
    private String spdm;

    @ApiModelProperty(value = "商品名称")
    @NotBlank(message = "明细数据中商品名称不能为空")
    private String spmc;

    @ApiModelProperty(value = "规格型号")
    private String ggxh;

    @ApiModelProperty(value = "计量单位")
    private String jldw;

    @ApiModelProperty(value = "商品数量")
    @NotNull(message = "明细数据中商品数量不能为空")
    private BigDecimal spsl;

    @ApiModelProperty(value = "含税单价")
    private BigDecimal hsdj;

    @ApiModelProperty(value = "含税金额")
    private BigDecimal hsje;

    @ApiModelProperty(value = "不含税单价")
    private BigDecimal bhsdj;

    @ApiModelProperty(value = "不含税金额")
    private BigDecimal bhsje;

    @ApiModelProperty(value = "税率")
    @NotNull(message = "明细数据中税率不能为空")
    private BigDecimal tax;

    @ApiModelProperty(value = "税额")
    @NotNull(message = "明细数据中税额不能为空")
    private BigDecimal taxje;

    @ApiModelProperty(value = "折扣金额")
    private BigDecimal zkje;

    @ApiModelProperty(value = "税收编码")
    @NotBlank(message = "明细数据中税收编码不能为空")
    private String spbm;

    @ApiModelProperty(value = "税收分类")
    @NotBlank(message = "明细数据中税收分类不能为空")
    private String ssmc;

    @ApiModelProperty(value = "零税率标识 0正常税率1是免税2是不征税3普通零税率")
    @NotBlank(message = "明细数据中零税率标识不能为空")
    private String lslbs;

    @ApiModelProperty(value = "优惠政策 0不使用1使用")
    private String yhzcbs = "0";

    @ApiModelProperty(value = "增值税特殊管理 优惠政策标识为1是必填")
    private String zzstsgl;
}
